package cn.tedu.controller;/**
 * @Author 金帮嘉诚 @Date 2021-07-14 星期三 9:50
 */
/*本类用于测试 框架下 传参 的优越性*/

import cn.tedu.pojo.Car;
import com.sun.jnlp.PersistenceServiceNSBImpl;
import jdk.nashorn.internal.runtime.regexp.joni.constants.StringType;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;

/**
 * 知识点
 */
@RestController
@RequestMapping("/car/")
public class CarController {
    @RequestMapping("get")
    public String getCar() {
        return "1111";
    }

    @RequestMapping("get2")
    public Car get2() {
        Car car = new Car();
        car.setId(1);
        car.setUser("user1");
        car.setType("type1");
        car.setColor("color1");
        car.setPrice(1.1);
//        String c= car.toString();
        return car;//框架会自动拼接成json串
    }

//    @RequestMapping("gc")
//    public String car(int id, String user, String type) {
//        Car car = new Car();
//        car.setId(id);
//        car.setUser(user);
//        car.setType(type);
////        System.out.println(car);
//        return car.toString();
//    }

    //用@GetMapping("gc") @RequestParam("user")可以实现传String类型参数
    @RequestMapping("add")
//    public Car add(int id) {id格式错误或者没传参时报错 Bad Request
    public Car add(Integer id) {//id格式错误时不报页面错误 会返回js中的错误类型    没传参时不报错 默认null
        Car car = new Car();
        car.setId(id);
        return car;

    }

    @RequestMapping("add2")
    public Car add2(Integer id, String user) {
        Car car = new Car();
        car.setId(id);
        car.setUser(user);
        return car;

    }

    //ajax不能跨域调用 使用CrossOrigin解决
    //出于安全原因，浏览器禁止Ajax调用驻留在当前原点之外的资源
    /*参数为Car对象，框架也会自动解析参数，只要提交的参数user属性和对象成员变量名相同就可以自动识别*/
    @CrossOrigin
    @RequestMapping("add3")
    public Car add3(Car car) {
        return car;
    }




//    @RequestMapping("home")
//    public String goHome(Model model) {
//        String message = "SpringMVC new home!";
//        model.addAttribute("message", message);
//        return "index";
//    }
//
//    @RequestMapping("json")
//    @ResponseBody
//    public List<Car> cars() {
//        List<Car> list = new ArrayList<Car>();
//        for (int i = 0; i < 5; i++) {
//            Car c = new Car();
//            c.setId(i);
//            c.setUser("Kim" + i);
//
//            list.add(c);
//        }
//        return list;
//
//    }
}
